// The following ifdef block is the standard way of creating macros which make exporting 
// from a DLL simpler. All files within this DLL are compiled with the AUDIO_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see 
// AUDIO_API functions as being imported from a DLL, whereas this DLL sees symbols
// defined with this macro as being exported.
#ifdef AUDIO_EXPORTS
#define AUDIO_API __declspec(dllexport)
#else
#define AUDIO_API __declspec(dllimport)
#endif

// This class is exported from the Audio.dll
class AUDIO_API CAudio {
public:
	CAudio(void);
	// TODO: add your methods here.
};

extern AUDIO_API int nAudio;

AUDIO_API int TestFunction(void);

AUDIO_API void* Audio_CreateVoice(const wchar_t* fileName);

AUDIO_API void Audio_DestroyVoice(void* instance);

AUDIO_API UINT32 Audio_Play(void* instance);

AUDIO_API void Audio_Stop(UINT32 playingId, BOOL destroyVoice = TRUE);

AUDIO_API void Audio_Resume(UINT playingId);

AUDIO_API UINT32  Audio_GetProgress(UINT32 instance);

AUDIO_API bool Audio_Init();

AUDIO_API void Audio_Destroy();

AUDIO_API int  Audio_GetSampleCount(void* instance);

AUDIO_API int Audio_GetSamplePlayed(UINT32 playingId);

AUDIO_API void Audio_SetVolume(UINT32 playingId, float volume);